package com.kerrykidz.promotion.dao.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.kerrykidz.promotion.dao.model.ProCampaignEntity;
import com.kerrykidz.promotion.dao.model.ProGblPrdEntity;
import com.rdp.framework.core.dao.mapper.MyBatisSuperMapper;
import com.rdp.framework.exception.RDPException;
import com.rdp.util.model.TreeModel;
/**
 * 
 * @ClassName: ProCampaignEntityMapper 
 * @description: 促销管理 
 * @author: wolf-yansl 
 * @date: 2014年9月9日 下午2:06:37 
 * @version: V1.0
 *
 */
@Repository
public interface ProCampaignEntityMapper  extends MyBatisSuperMapper<ProCampaignEntity> {
	/***
	 * 查询指定促销对象
	 * @param entity
	 * @return
	 * @throws RDPException
	 * @date: 2014年10月13日
	 */
	public ProCampaignEntity getByCampId(ProCampaignEntity entity)throws RDPException;
	/**
	 * 首页查询
	 * @param entity
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月9日
	 */
	public List<ProCampaignEntity> getLikeCampNameOrTime(ProCampaignEntity entity)throws RDPException;

	/**
	 * 获取促销商品
	 * @param entity
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月10日
	 */
	public List<ProGblPrdEntity> getLikePrdIdOrPrdName(ProGblPrdEntity entity)throws RDPException;

	/**
	 * 获取商品分类子节点
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月10日
	 */
	public List<TreeModel> getPrdCateChild(@Param("pid")String pid)throws RDPException;
	
	/**
	 * 获取关联活动的商品
	 * @param pkCampId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月11日
	 */
	public List<String> getByProCampidPrdAll(@Param("pkCampId")String pkCampId)throws RDPException;
	
	/**
	 * 保存促销活动对象
	 * @param entity
	 * @throws RDPException
	 * @date: 2014年9月10日
	 */
	public void saveEntity(ProCampaignEntity entity)throws RDPException;
	public void updateProCampaignEntity(ProCampaignEntity entity)throws RDPException;
	public void updateProCampaignStatus(ProCampaignEntity entity)throws RDPException;
	public void deleteProCampidPrdAll(@Param("pkCampId")String pkCampId)throws RDPException;
	public void deleteProCampaignEntity(ProCampaignEntity entity)throws RDPException;
	
	/**
	 * 保存促销商品关联
	 * @param prdMap
	 * @throws RDPException
	 * @date: 2014年9月10日
	 */
	public void addProCampPrd(Map<String,Object> prdMap)throws RDPException;
	
	/**
	 * 查询促销活动  for 派对预约
	 * @param String fkBranId
	 * @return
	 * @throws RDPException
	 * @date: 2014年9月9日
	 */
	public List<ProCampaignEntity> getCampaignForPar(@Param("fkBranId") String fkBranId)throws RDPException;
}